Meta Character Quick Reference
Previous Back to contents Next

Here's a quick list of all Proxomitron's special characters. See Matching Rules for more detailed explanations.

Matching meta characters

*   match a string of any characters.
?   match any single character.
[abc]   match any single character listed in the brackets.
[^a-z]   match any single character not listed in the brackets.
[#x:y]   numeric range match. Supports negative numbers.
" "   (a Space) Always matches but also consumes any whitespace.
\s   match string of whitespace only.
\w   match any number of non-space characters except ">".
\t   matches a single tab character.
\r   matches a single carriage return character.
\n   matches a single newline character.
\0-9   put match into a variable - works like "*" unless following stuff in parentheses: "( ... )\1"
\#   append match on to replacement stack.
&   AND function.
&&   AND-AND (like AND but limits scope of second part).
|   OR function.
(^...)   NOT function.
(...)   group a sub-expression. Negate with "(^ ... )"
+   repeat previous match until there are no more left.
++   same as '+' except matches to up to the point where what follows is true.
+{5}   the + or ++ pattern run will match only 5 repetitions.
+{2,7}   the + or ++ pattern run will match 2 to 7 repetitions.
+{3,*}   the + or ++ pattern run will match 3 or more repetitions.
\   escape any meta character's special meaning.
=   magic equal - absorbs leading/trailing spaces.
"   magic quote - matches double or single quote.
'   smart ending quote - use to deal with nested quotes.
<start>   insert this at the beginning of a page
<end>   insert this at the end of a page

Special Matching Commands

(m=matching value r=replacement text b=boolean value)

$ADDLST(ListName, r)   add a new item to a blocklist
$ADDLSTBOX(ListName, [title,] r)   prompt user for item to add to blocklist
$ALERT(r)   display a pop-up alert message
$ASK(List, List, prompt, r [,r])   ask user if item should be filtered
$AV(m)   match an attribute's value excluding any quotes
$AVQ(m)   match an attribute's value including any quotes
$CON(x,y,[z])   test current connection number
$CONFIRM(r)   display pop-up Yes/No dialog
$DTM(fmt)   insert current date, time or connection number
$ESC(r)   escape special characters in a string to make it URL safe (reverse of $UESC)
$FILE(filename)   Insert a file into the replacement
$FILTER(b)   force filtering or not
$GET(var)   returns the value of a named global variable
$IHDR(header: m)   match input headers
$INEST(start,[m],end)   like nest, but assumes inital tag already matched
$JUMP(url)   redirect URL (non-transparent)
$KEYCHK(keycodes)   Test for a user keypress
$LOCK()   Lock filter for synchronization between pages
$LOG(r)   add text to log window
$LST(listname)   include a blocklist in any matching expression
$NEST(start,[m],end)   find pair of nested tags
$OHDR(header: m)   match output headers
$RDIR(url)   redirect URL (transparent)
$RESP(m)   Match on a web server's response status code
$SET(0=r)   set a positional variable (\0-9 or \#) to a specific value.
$SET(var=r)   set a named global variable to a specific value.
$SETPROXY   select a particular proxy for connection .
$STOP()   turn filter off for rest of page
$TST(var=m)   tests the value of a named or positional varible
$TST(var)   compares the value of a varible against the current text
$TYPE(type value)   check type of page being processed
$UESC(r)   remove hexidecimal "%xx" style URL escapes
$UNLOCK()   Unlock a $LOCK'ed filter (optional)
$URL(m)   match a the URL inside the matching portion of a filter.
$USEPROXY(b)   turn external proxy on or off for connection
$WESC(r)   escape any wildcards in text

Replacement Text Escapes

\0-9   Insert a variable into the replacement text.
\#   Inserts one item from the replacement stack each time it is used - first in first out
\@   Insert all the items in the replacement stack.
\\   Insert a single backslash.
\a   Insert any anchor text from a URL (anything following a "#").
\d   Insert The Proxomitron base directory in "file://" URL format.
\h   Insert the host portion of the URL.
\k   Kills the current connection.
\p   Insert the path portion of the URL.
\q   Insert any query string from a URL (anything following a "?").
\u   Insert the full URL of the current web page.
\x   Insert URL command prefix if defined.


Return to main index